class HistoricosExternosController < ApplicationController
  #MODULE: Historial Laboral
  
  # GET /historicos_externos
  # GET /historicos_externos.xml
  def index #IGNORE
    @historicos_externos = HistoricoExterno
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @historicos_externos }
    end
  end

  # GET /historicos_externos/1
  # GET /historicos_externos/1.xml
  def show #DESC: Ver registros de experiencia laboral.
    @historico_externo = HistoricoExterno.find(params[:id])
    
    respond_to do |format|
      format.html 
      format.js {render :layout => false}
      format.xml  { render :xml => @historico_externo }
    end
  end

  # GET /historicos_externos/new
  # GET /historicos_externos/new.xml
  def new #DESC: Agregar un nuevo registro de de experiencia laboral.
    @historico_externo = HistoricoExterno.new
    @historico_externo.usuario_id = params[:usuario_id]
    
    respond_to do |format|
      format.js   {render :layout => false}
      format.html
      format.xml  { render :xml => @historico_externo }
    end
  end

  # GET /historicos_externos/1/edit
  def edit #DESC: Editar registro de de experiencia laboral.
    @historico_externo = HistoricoExterno.find(params[:id])
    respond_to do |format|
      format.js   {render :layout => false}
      format.html
    end
  end

  # POST /historicos_externos
  # POST /historicos_externos.xml
  def create
    @historico_externo = HistoricoExterno.new(params[:historico_externo])
    
    respond_to do |format|
      if @historico_externo.save
        params[:id]=@historico_externo.id
        @usuario=@historico_externo.usuario
        
        format.html {
          flash[:notice] =  'Historico Laboral Externo creado correctamente.'
          params[:oper].nil? ? redirect_to(@historico_externo.usuario) : render(:text => "Ok")
        }
        format.js  {actualizar_view}
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @historico_externo.errors, :status => :unprocessable_entity }
      end
    end
  end

  # PUT /historicos_externos/1
  # PUT /historicos_externos/1.xml
  def update
    @historico_externo = HistoricoExterno.find(params[:id])

    respond_to do |format|
      if @historico_externo.update_attributes(params[:historico_externo])
        @usuario=@historico_externo.usuario
        format.html {
          flash[:notice] = 'Historico Laboral Externo actualizado correctamente.'
          redirect_to(@historico_externo.usuario)
        }
        format.xml  { head :ok }
        format.js  {actualizar_view}
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @historico_externo.errors, :status => :unprocessable_entity }
      end
    end
  end

  # DELETE /historicos_externos/1
  # DELETE /historicos_externos/1.xml
  def destroy #DESC: Eliminar registros de de experiencia laboral.
    @historico_externo = HistoricoExterno.find(params[:id])
    @usuario=@historico_externo.usuario
    @historico_externo.destroy
    respond_to do |format|
      format.js  do
        actualizar_view
      end
    end
  end

  private
  def actualizar_view
    @historicos_externos=@usuario.historicos_externos
    @action_name="edit"
    render :update do |page|
      page.replace_html "experiencias_laborales", :file => "historicos_externos/index"
      page.visual_effect(:highlight, "tr-historicoexterno-#{params[:id]}", :duration=>2.5)
      page << "makeColorBox()"
    end
  end
end
